home *** CD-ROM | disk | FTP | other *** search
- unit Reportfm;
- interface
- uses
- SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
- StdCtrls, Forms, DBCtrls, DB, Buttons, Tabs, ExtCtrls, DBTables, Mask;
-
- Type
- TReportForm = class(TForm)
- ScrollBox: TScrollBox;
- Label1: TLabel;
- EditReportDate: TDBEdit;
- Label2: TLabel;
- EditReportedBy: TDBEdit;
- Label3: TLabel;
- EditReportSystem: TDBEdit;
- Label4: TLabel;
- Label5: TLabel;
- Label6: TLabel;
- Label7: TLabel;
- Label8: TLabel;
- EditFixDate: TDBEdit;
- Label9: TLabel;
- EditFixedBy: TDBEdit;
- Label10: TLabel;
- EditReportSeeAlso: TDBEdit;
- Label11: TLabel;
- EditVerifyDate: TDBEdit;
- Label12: TLabel;
- EditVerifiedBy: TDBEdit;
- DBNavigator: TDBNavigator;
- Panel1: TPanel;
- DataSource1: TDataSource;
- Panel2: TPanel;
- Table1: TTable;
- Notebook1: TNotebook;
- TabSet1: TTabSet;
- DBMemo1: TDBMemo;
- DBMemo2: TDBMemo;
- DBMemo3: TDBMemo;
- SpeedButton1: TSpeedButton;
- DBMemo4: TDBMemo;
- DBComboBox1: TDBComboBox;
- DBComboBox2: TDBComboBox;
- DBComboBox3: TDBComboBox;
- procedure FormCreate(Sender: TObject);
- procedure DBNavigatorClick(Sender: TObject; Button: TNavigateBtn);
- procedure TabSet1Click(Sender: TObject);
- procedure SpeedButton1Click(Sender: TObject);
- procedure FormClose(Sender: TObject; var Action: TCloseAction);
- private
- { private declarations }
- public
- { public declarations }
- end;
-
- {$IFDEF WIN32}
- var
- {$ELSE}
- Const
- {$ENDIF}
- ReportForm: TReportForm = nil;
-
- implementation
- uses IniFiles, DbiTypes, DbiProcs, DBConsts;
-
- {$R *.DFM}
-
- function CurrentRecordNumber(DataSet: TDataSet): LongInt;
- { Gives the current recordnumber as result for dBase/Paradox tables only }
- var CursorProps: CurProps;
- RecordProps: RECProps;
- begin
- Result := 0;
- with DataSet do
- try
- if State = dsInactive then DBError(SDataSetClosed);
- Check(DbiGetCursorProps(Handle, Cursorprops));
- UpdateCursorPos;
- Check(DbiGetRecord(Handle, dbiNOLOCK, nil, @RecordProps));
- case CursorProps.iSeqNums of
- 0: Result := RecordProps.iPhyRecNum; {dBase}
- 1: Result := RecordProps.iSeqNum {Paradox}
- end
- except
- { skip errors - return 0 }
- end
- end;
-
- procedure TReportForm.FormCreate(Sender: TObject);
- begin
- TabSet1.Tabs := NoteBook1.Pages;
- with TIniFile.Create('c:\windows\delphi.ini') do
- begin
- Table1.DatabaseName := ReadString('bert','reports','C:\PROGRA~1\BORLAND\DELPHI~1.0\DRBOB');
- WriteString('bert','reports',Table1.DatabaseName);
- Table1.TableName := 'REPORT.DB';
- Table1.Open;
- Free
- end;
- Panel1.Caption := Format('Report %d/%d',
- [CurrentRecordNumber(Table1),Table1.RecordCount])
- end;
-
- procedure TReportForm.DBNavigatorClick(Sender: TObject; Button: TNavigateBtn);
- begin
- if (Button = nbInsert) then { insert = new key }
- Table1.Fields[0].AsInteger := Succ(Table1.RecordCount);
- Panel1.Caption := Format('Report %d/%d',
- [CurrentRecordNumber(Table1),Table1.RecordCount])
- end;
-
- procedure TReportForm.TabSet1Click(Sender: TObject);
- begin
- Notebook1.PageIndex := TabSet1.TabIndex
- end;
-
- procedure TReportForm.SpeedButton1Click(Sender: TObject);
- begin
- ModalResult := mrOK
- end;
-
- procedure TReportForm.FormClose(Sender: TObject; var Action: TCloseAction);
- begin
- Table1.Close
- end;
-
- end.
-